<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // JSON是用于存储和传输数据的格式，通常用于服务端向网页传递数据，JSON数据交换格式可以方便前后端进行数据的交互操作
        // 文件扩展名是.json结尾，但是json格式仅仅是一个文本，独立于语言和平台
        // 在一个独立的json文件中，
        // 属性名必须使用双引号引起来，不可以使用单引号,不要定义方法


        // JSON是从javascript脚本语言中演变而来的，使用javascript语法来描述数据对象
        // JSON不是javascript


        // 如果在js中使用JSON的语法格式来定义，就是一个JSON对象
        var stu={
            "name":"alice",
            "age":20,
            "address":"南京",
            "show":function(){//JSON数据格式中不要定义方法
                console.log("show");
            }

        };
        // JSON格式的对象和对象字面量的区别：JSON的属性必须加双引号，而对象字面量可以不加
        console.log(stu);
        console.log(stu.name);
        console.log(stu.age);
        console.log(stu["address"]);

        //复合属性
        var user={
            "name":{
                "firstName":"王",
                "lastName":"花花"
            }
        };
        console.log("免贵姓:"+user.name["firstName"]);
        console.log("免贵姓:"+user.name.firstName);
        console.log("免贵姓:"+user["name"]["firstName"]);
        console.log("免贵姓:"+user["name"].firstName);
        
        //JSON对象集合(将对象放置在数组中)
        var nums=[10,20,30,40];
        var users=[
            {"id":1001,"name":"花花1"},
            {"id":1002,"name":"花花2"},
            {"id":1003,"name":"花花3"},
            {"id":1004,"name":"花花4"},
        ];
        
        for(var i=0;i<users.length;i++){
            // console.log(i);//索引
            // console.log(users[i]);//对象
            console.log(users[i].id+":"+users[i].name);
        }


        // 将对象转换为字符串  JSON.stringify(对象)
        var obj1={
            "id":1001,
            "name":"小红"
        };
        // console.log(typeof obj1);//object
        var str=JSON.stringify(obj1);
        console.log(str);

        var obj2={
            name:"老王",
            age:30
        };
        var str2=JSON.stringify(obj2);
        console.log(str2);

        // 将字符串转换为JSON格式的对象  JSON.parse(字符串)
        // var strs="{'id':1001,'name':'张继科'}"; //字符串中的属性名必须使用双引号，不能使用单引号
        var strs='{"id":1001,"name":"张继科"}';
        var res=JSON.parse(strs);
        console.log(res);


    </script>
</head>
<body>
    
</body>
</html>